
<?php
/**
 * ***************************************CHECKSETUP2************************************************
 * Prend en input un id de client
 * Check en base de données les licences du client
 * Retourne Json avec:
 * le serial de connection
 * un objet json contenant: l'id des licences et sa date d'expiration
 * ***************************************NOTE********************************************************
 * UTILISE PAR: OREMIA DESKTOP 
 * UTILISE A PARTIR DE LA VERSION: 1.9.3
 * ****************************************EXEMPLE****************************************************
 * URL: https://licences.oremia.com/licences/checkSetup2.php?id=1000
 * PRINT: {"serial":"c345c3f2f0b817159f23f9f6a2027711","licences":{"1":"2013-12-31","2":"2013-12-31","3":"2013-12-31"}}
 */
header ( "Access-Control-Allow-Origin: *" );
$filename = "./passwd.txt";
if (file_exists ( $filename )) {
	// fichier existe, on recupere le dernier numero de licence
	$fp = fopen ( $filename, "r" ); // lecture du fichier
	$pass = fgets ( $fp ); // lecture du contenu de la ligne
	fclose ( $fp );
}
if (isset ( $_GET ['id'] ) && $_GET ['id'] >= 1000) {
	try {
		$pdo_options [PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
		$bdd = new PDO ( "mysql:host=localhost;dbname=serveurlicence", 'root', $pass, $pdo_options ); // Connexion bdd
		$return = $bdd->prepare ( 'SELECT idlicence_type, date_fin FROM licences WHERE idpraticien = :id ORDER BY idlicence_type' ); // Préparation Requête pour récupérer les id de licence avec sa date d'expiration
		$return->execute ( array (
				':id' => $_GET ['id'] 
		) ); // On passe l'id passé dans l'url en paramètre de la requête puis on execute
		$count = $return->rowCount (); // On vérifie qu'il y ait des licences sur le compte
		if ($count == 0) {
			echo 'Pas de licence';
		} else {
			$licences = array ();
			while ( $donnees = $return->fetch () ) {
				$licences = $licences + array (
						$donnees ['idlicence_type'] => $donnees ['date_fin'] 
				); // merge des array entre elle pour créer un seul et gros array
			}
			/**
			 * ******************Création du sérial!!!!! Secret Defense!!!!***************************
			 */
			$rep = $bdd->query ( 'SELECT nom, prenom  FROM praticiens WHERE id=' . $_GET ['id'] . '' );
			$client = $rep->fetch ();
			$date = new DateTime ();
			$dateJour = $date->format ( 'Y-m-d' );
			$nom = filter ( $client ['nom'] . $client ['prenom'] );
			$serial = md5 ( $_GET ['id'] . $nom . $dateJour . 'Oremi@' );
			/**
			 * ***********Création de l'objet json****************
			 */
			$objetJSON = array (
					'serial' => $serial,
					'licences' => $licences 
			);
			echo json_encode ( $objetJSON );
		}
	} catch ( PDOException $e ) 

	{
		// echo $e->getMessage();
		echo 'mauvais id';
	}
} else {
	// echo $e->getMessage();
	echo 'mauvais id';
}
/**
 * ***************Input: chaine de caractères; Output: Chaine de caractère sans accent, sans espace, en majuscule******************
 */
function filter($chaine) {
	$a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ';
	$b = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr';
	$chaine = utf8_decode ( $chaine );
	$chaine = strtr ( $chaine, utf8_decode ( $a ), $b );
	$chaine = strtoupper ( $chaine );
	$chaine = preg_replace ( '/[^A-Z_]/', '', $chaine );
	return $chaine;
}
?>
